﻿//
// Copyright (c) 2024 BPer
//

#ifndef BPERAPP_BPERPLAYAPP_H_
#define BPERAPP_BPERPLAYAPP_H_
#include <bperutil/buffer/BPerAudioPlayBuffer.h>
#include <bperutil/buffer/BPerVideoBuffer.h>

#include <bperavutil/audio/BPerRtcAec.h>

#include <bperdecoder/BPerVideoDecoderHandles.h>
#include <bperaudiodev/linux/BPerAudioPlayLinux.h>
#include <bperaudiodev/mac/BPerAudioPlayMac.h>
#include <bperaudiodev/win/BPerWinAudioApiRender.h>

#include <bperaudiodev/android/BPerAudioPlayAndroid.h>

#include <vector>

using namespace std;
class BPerPlayerPlay {
public:
	BPerPlayerPlay();
	virtual ~BPerPlayerPlay();
    void initAudioPlay(BPerContext* paudio);
	void startAudioPlay();
	void setInAudioList(BPerAudioPlayBuffer *paudioList);
	void stopAll();
private:
#if BPer_OS_WIN
        BPerWinAudioApiRender *m_audioPlay;
#else

#if BPer_OS_ANDROID
        BPerAudioPlayAndroid *m_audioPlay;
#else
    #if BPer_OS_APPLE
        BPerAudioPlayMac *m_audioPlay;
    #else
        BPerAudioPlayLinux *m_audioPlay;
    #endif
#endif


#endif
	int32_t vm_audio_player_start;

};

#endif /* BPERAPP_BPERPLAYAPP_H_ */
